package com.internetCafes.spms.web.sys.service;

import com.internetCafes.spms.core.model.pageModel.DataGrid;
import com.internetCafes.spms.web.sys.model.CaptchaInfo;

import java.awt.image.BufferedImage;
import java.util.List;
import java.util.Map;

/**
 * 系统验证码
 * 
 * @author Sunny
 * @email rekeeper2011@hotmail.com
 * @date 2019-10-28 10:21:45
 */
public interface CaptchaInfoService {

    /**
     * 查询
     */
    public List<CaptchaInfo> query(Map<String, Object> params);

    /**
     * ID查询
     */
    public CaptchaInfo findById(String id);

    /**
     * ID批量查询
     */
    public List<CaptchaInfo> queryByIds(List<String> ids);

    /**
     * 参数分页查询
     */
    public List<CaptchaInfo> page(Map<String, Object> params, int page, int rows);

    /**
     * 参数查询总数
     */
    public long count(Map<String, Object> params);

    /**
     * First查询
     */
    public CaptchaInfo findFirst(Map<String, Object> params);

    /**
     * 保存
     */
    public int save(CaptchaInfo captchaInfo);

    /**
     * 批量保存
     */
    public int saveBatch(List<CaptchaInfo> captchaInfoList);

    /**
     * 选择保存
     */
    public int saveSelective(CaptchaInfo captchaInfo);

    /**
     * 修改
     */
    public int update(CaptchaInfo captchaInfo);

    /**
     * 选择修改
     */
    public int updateSelective(CaptchaInfo captchaInfo);

    /**
     * 删除
     */
    public int delete(String id);

    /**
     * 批量删除
     */
    public int deleteBatch(List<String> ids);

    /**
     * 批量删除
     */
    public void deleteBatch(String[] ids);


    /**
     * DataGrid
     */
    public DataGrid dataGrid(Map<String, Object> params, int pageNo, int pageSize);


    /**
     * 获取图片验证码
     */
    BufferedImage getCaptcha(String uuid);

    /**
     * 验证码效验
     * @param uuid  uuid
     * @param code  验证码
     * @return  true：成功  false：失败
     */
    boolean validate(String uuid, String code);
}
